package com.zmn.oms.zmn.normal.business.interfaces.order;

import com.zmn.oms.common.exception.OmsBaseException;
import com.zmn.oms.model.bo.order.OrderBO;
import com.zmn.oms.model.dto.order.zmn.FactoryNewOrderDTO;
import com.zmn.oms.model.dto.order.zmn.FactoryUpdateOrderDTO;
import com.zmn.oms.model.dto.order.zmn.UpdateSimpleOrderDTO;

/**
 * 类描述：啄木鸟厂商单
 *
 * @author lujia
 * @date 2018/11/21 16:56
 */
public interface FactoryOrderBService {

    /**
     * 订单确认
     *
     * @param factoryUpdateOrderDTO
     * @throws OmsBaseException
     */
    void saveConfirmOrder(FactoryUpdateOrderDTO factoryUpdateOrderDTO) throws OmsBaseException;

    /**
     * 修改订单
     *
     * @param factoryUpdateOrderDTO
     */
    void updateOrder(FactoryUpdateOrderDTO factoryUpdateOrderDTO) throws OmsBaseException;

    /**
     * 新增厂商订单
     *
     * @param newOrderDTO 订单
     * @return
     * @throws Exception
     */
    OrderBO insertOrder(FactoryNewOrderDTO newOrderDTO) throws OmsBaseException;

    /**
     * 新增渠道厂商订单
     *
     * @param newOrderDTO 订单
     * @return
     * @throws Exception
     */
    OrderBO insertChannelOrder(FactoryNewOrderDTO newOrderDTO) throws OmsBaseException;

    /**
     * 修改订单
     *
     * @param simpleOrderDTO
     */
    void updateSimpleOrder(UpdateSimpleOrderDTO simpleOrderDTO) throws OmsBaseException;

}
